34 research outputs found

    Detection and analysis of near-miss clone genealogies

    Get PDF
    It is believed that identical or similar code fragments in source code, also known as code clones, have an impact on software maintenance. A clone genealogy shows how a group of clone fragments evolve with the evolution of the associated software system, and thus may provide important insights on the maintenance implications of those clone fragments. Considering the importance of studying the evolution of code clones, many studies have been conducted on this topic. However, after a decade of active research, there has been a marked lack of progress in understanding the evolution of near-miss software clones, especially where statements have been added, deleted, or modified in the copied fragments. Given that there are a significant amount of near-miss clones in the software systems, we believe that without studying the evolution of near-miss clones, one cannot have a complete picture of the clone evolution. In this thesis, we have advanced the state-of-the-art in the evolution of clone research in the context of both exact and near-miss software clones. First, we performed a large-scale empirical study to extend the existing knowledge about the evolution of exact and renamed clones where identifiers have been modified in the copied fragments. Second, we have developed a framework, gCad that can automatically extract both exact and near-miss clone genealogies across multiple versions of a program and identify their change patterns reasonably fast while maintaining high precision and recall. Third, in order to gain a broader perspective of clone evolution, we extended gCad to calculate various evolutionary metrics, and performed an in-depth empirical study on the evolution of both exact and near-miss clones in six open source software systems of two different programming languages with respect to five research questions. We discovered several interesting evolutionary phenomena of near-miss clones which either contradict with previous findings or are new. Finally, we further improved gCad, and investigated a wide range of attributes and metrics derived from both the clones themselves and their evolution histories to identify certain attributes, which developers often use to remove clones in the real world. We believe that our new insights in the evolution of near-miss clones, and about how developers approach and remove duplication, will play an important role in understanding the maintenance implications of clones and will help design better clone management systems

    Development of Material Requirements Planning (MRP) Software with C Language

    Get PDF
    Now a day2019;s a number of manufacturing firms in developing countries do not practice affordable, efficient and user friendly inventory management tools which has been identified as a major cause of high inventory cost for adequate planning. This study focuses on the development of Material Requirements Planning (MRP) software with programming language C that can be used by the local industries for inventory management in a job shop manufacturing environment. An algorithm has been developed to understand the MRP processing logic. A manual method of calculation to solve MRP problem has also been shown. Evaluation tests of the software were carried out using various products ranging from those with simple structure of single product to complex structure. The software was shown to be user friendly and allow for easy data input and output to be saved and retrieved for future planning. The input process of the software has been shown step by step. The output of the program shows the time-phased requirements for assemblies, parts and raw materials as well as the missing deliveries and time required to meet the missing deliveries

    PRF: A Framework for Building Automatic Program Repair Prototypes for JVM-Based Languages

    Full text link
    PRF is a Java-based framework that allows researchers to build prototypes of test-based generate-and-validate automatic program repair techniques for JVM languages by simply extending it with their patch generation plugins. The framework also provides other useful components for constructing automatic program repair tools, e.g., a fault localization component that provides spectrum-based fault localization information at different levels of granularity, a configurable and safe patch validation component that is 11+X faster than vanilla testing, and a customizable post-processing component to generate fix reports. A demo video of PRF is available at https://bit.ly/3ehduSS.Comment: Proceedings of the 28th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE '20

    Electrocorticography based motor imagery movements classification using long short-term memory (LSTM) based on deep learning approach

    Get PDF
    Brain–computer interface (BCI) is an important alternative for disabled people that enables the innovative communication pathway among individual thoughts and different assistive appliances. In order to make an efficient BCI system, different physiological signals from the brain have been utilized for instances, steady-state visual evoked potential, motor imagery, P300, movement-related potential and error-related potential. Among these physiological signals, motor imagery is widely used in almost all BCI applications. In this paper, Electrocorticography (ECoG) based motor imagery signal has been classified using long short-term memory (LSTM). ECoG based motor imagery data has been taken from BCI competition III, dataset I. The proposed LSTM approach has achieved the classification accuracy of 99.64%, which is the utmost accuracy in comparison with other state-of-art methods that have employed the same data set

    Are These Bugs Really "Normal"?

    Get PDF
    International audienceUnderstanding the severity of reported bugs is important in both research and practice. In particular, a number of recently proposed mining-based software engineering techniques predict bug severity, bug report quality, and bug-fix time, according to this information. Many bug tracking systems provide a field "severity" offering options such as "severe", "normal", and "minor", with "normal" as the default. However, there is a widespread perception that for many bug reports the label "normal" may not reflect the actual severity, because reporters may overlook setting the severity or may not feel confident enough to do so. In many cases, researchers ignore "normal" bug reports, and thus overlook a large percentage of the reports provided. On the other hand, treating them all together risks mixing reports that have very diverse properties. In this study, we investigate the extent to which "normal" bug reports actually have the "normal" severity. We find that many "normal" bug reports in practice are not normal. Furthermore, this misclassification can have a significant impact on the accuracy of mining-based tools and studies that rely on bug report severity information

    On the Effectiveness of Information Retrieval Based Bug Localization for C Programs

    Get PDF
    International audienceLocalizing bugs is important, difficult, and expensive, especially for large software projects. To address this problem, information retrieval (IR) based bug localization has increasingly been used to suggest potential buggy files given a bug report. To date, researchers have proposed a number of IR techniques for bug localization and empirically evaluated them to understand their effectiveness. However, virtually all of the evaluations have been limited to the projects written in object-oriented programming languages, particularly Java. Therefore, the effectiveness of these techniques for other widely-used languages such as C is still unknown. In this paper, we create a benchmark dataset consisting of more than 7,500 bug reports from five popular C projects and rigorously evaluate our recently introduced IR-based bug localization tool using this dataset. Our results indicate that although the IR-relevant properties of C and Java programs are different, IR-based bug localization in C software at the file level is overall as effective as in Java software. However, we also find that the recent advance of using program structure information in performing bug localization gives less of a benefit for C software than for Java software

    Management and socio-economic conditions of fishermen of the Baluhar Baor, Jhenaidah, Bangladesh

    Get PDF
    This study was conducted on the management of the Baluhar Baor and fishermen’s socio-economic conditions of the baor in Jhenaidah district, Bangladesh. Data were collected by interviews, FGDs and CIs with key informants. This baor was managed under Oxbow Lake Project-1 of Department of Fisheries of Bangladesh government. Hypophthalmichthys molitrix, Labeo rohita, Catla catla, Cirrhina cirrhosus, Cyprinus carpio and Ctenopharyngodon idella were commonly stocked at the composition of 34%, 13%, 12%, 12%, 15% and 14%, respectively. Kochal, komor and chack fishing were used for harvesting and yearly production was 750 kg/ha. While studying the socio-economics, 58% fishermen were lived in joint families. 78% fishermen used kancha sanitary latrine which reflects their poor hygienic condition but they used tubewell for drinking water. 58% fishermen were with 0.041 hectare lands and 74% lived in kancha house. The annual income varied from BDT 15,000 to 60,000. Education level was found very low and only 18% completed their primary education. Majority fishermen (82%) visited village doctor for health services due to low income and lack of knowledge. All fishermen were fully dependent on baor fishery for their livelihood. It is possible to uplift their socio-economic by managing the baor with improved technology
    corecore